package com.campus.counseling.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.counseling.entity.ConsultationRecord;
import com.campus.counseling.model.dto.RecordRateDTO;

import java.util.List;

public interface ConsultationRecordService extends IService<ConsultationRecord> {

    // 分页查询咨询记录
    IPage<ConsultationRecord> getRecordList(Long page, Long size, ConsultationRecord query);
    
    // 添加咨询记录
    void addRecord(ConsultationRecord record);
    
    // 更新咨询记录
    void updateRecord(ConsultationRecord record);
    
    // 删除咨询记录
    void deleteRecord(Long id);
    
    // 获取咨询记录详情
    ConsultationRecord getRecordDetail(Long id);

    // 根据预约ID获取咨询记录
    ConsultationRecord getRecordByAppointmentId(Long appointmentId);

    // 获取已完成咨询数量
    Integer getCompletedConsultsCount(Long counselorId);
    
    // 获取服务过的学生数量
    Integer getServedStudentsCount(Long counselorId);
    
    // 获取待完成的咨询记录
    List<ConsultationRecord> getPendingRecords(Long counselorId);

    // 评分
    void rateRecord(RecordRateDTO rateDTO);
}